Data Warehousing:
Business intelligence:
Comprende el conjunto de conceptos y metodologías que buscan mejorar el proceso de toma de decisiones en los negocios al basarse en hechos y sistemas que trabajan con ellos. Sus datos provienen de fuentes como warehouses y comprenden una serie de herramientas para administrarlos, extraerlos, consultarlos y modelizarlos.
La evolución de los datos de negocios a la información de negocios pasó por varias etapas:
- Data collection (1960): Acceso retrospectivo y estático
- Data access (1980): Acceso retrospectivo y dinámico
- Data navigation (1990): Acceso retrospectivo y dinámico con niveles múltiples
- Data mining (2000): Acceso prospectivo y proactivo

Data Warehouse (DW):
Surge como una colección de muchos datos que asisten a la toma de decisiones de negocio. Sus datos cumplen con ser:
- Subject-oriented: Tratan sobre de un tema en particular en lugar de la operatoria de la compañía.
- Integrated: Provienen de diferentes fuentes y son integrados consistentemente.
- Time-variant: Se refieren a un momento en particular en el tiempo (snapshot).
- Non-volatile: Son estables, es decir, suelen agregarse pero no quitarse para permitir una análisis retrospectivo de la marcha del negocio.
Puede decirse entonces que los datos están estructurados para responder a transacciones y consultas complejas (lectura y sumarización heurística).
Dentro de los componentes del DW, además de los datos, están:
- Los procedimientos de extracción, transformación y carga (ETL)
- Soporte físico de los datos (DBMS)
- Herramientas de explotación (OLAP, reporting, data mining, etc.)

Metadata:
Describe los datos a los usuarios de manera de que puedan interpretarlos. Esta descripción abarca, entre otras cosas:
- Sus modelos lógicos
- Su mapeo a sistemas transaccionales
- Su esquema físico
- Su información de carga
La metadata se encarga de describir no sólo a la fuente de datos sino a las operaciones de transformación, estructuras de datos, reglas de limpieza y referencias históricas y temporales. De allí podemos hacer la siguiente distinción:
- Datos: Son los que se cargan a una base en crudo.
- Información: Surge de los anteriores al incorporarles una definición, un formato, un intervalo de tiempo y relevancia (es decir, datos de contexto).
- Conocimiento: Surge de la anterior a partir del análisis de patrones y tendencias, las relaciones y las asumciones tomadas. Para obtenerlo tenemos diversas técnicas como data mining.

Adquisición y limpieza:
Como se tienen muchos datos en el DW pueden haber algunos corruptos, redundantes, irrelevantes o excesivos. Necesitamos que estos sean correctos y completos para satisfacer las necesidades del usuarios. Para ello podemos imponer una serie de condiciones de integridad para que los datos se ajusten a los estandartes de valor y completitud. El proceso encargado de tratar estos problemas es el ETL.

ETL:
Es el proceso que se usa para obtener los datos, limpiarlos y convertirlos a un formato con el que se puedan utilizar. Este comprende varias etapas:
1) Migración: Se toman los datos de sistemas operacionales por fuera de las áreas de trabajo del DW a ellas, evitando traer datos innecesarios (control preventivo de integridad).
2) Limpieza (data cleaning): Se corrigen, estandarizan y completan los datos, identificando redundantes, atípicos (outliers) y perdidos (missings). Esto comprende la normalización de datos a una denominación uniforme para poder ser referenciados por el sistema de negocios. Además se deben simplificar los esquemas de codificación, particionando datos complejos.
3) Transformación: Comprende una serie de procesos para adpatar los datos al modelo lógico del DW. De allí se genera una serie de reglas de transformación que deben validarse con los usuarios. Entre ellos tenemos:
-- Snapshots: Para tratar entidades con cambios frecuentes.
-- Denormalización: Para mejorar el rendimiento de las consultas y reflejar relaciones estáticas (que no cambian en un perspectiva histórica).
-- Sumarización: Para acelerar los tiempos de análisis y ocultar la complejidad de los datos. Pueden incluir múltiples juntas y vistas que deben ser mantenidas a medida que se cargan nuevos datos, para lo cual resulta necesario navegar los datos hasta su mínimo nivel de granularidad.
4) Carga de los datos al DW físico: Se puede hacer de dos maneras:
-- Full refresh: Cargando todos los datos nuevamente.
-- Incremental: Cargando sólo los últimos datos.
5) Conciliación y validación: Comprende los controles de detección de integridad que verifican que los datos sean correctos y completos. Se puede hacer de manera:
-- Completa: Al final de todo el proceso.
-- Por etapas: A medida que los datos son cargados.

Modelado:
El modelo de la DB que conforma un DW debe poder soportar eficientemente los requerimientos de los usuarios, ya que les da una visualización del universo de negocio, abstrae sus preguntas y determina cómo será implementado. De allí tenemos dos técnicas:
- Modelo Entidad-Relación: Entidades, relaciones y atributos.
- Modelo Dimensional: Se basa en 3 elementos:
-- Hecho: Colección de ítems de datos que con su contexto representan a un ítem de negocio, una transacción o un evento. Estos se registran en las tablas centrales.
-- Dimensión: Colección de miembros, unidades o individuos del mismo tipo (relacionados). Estas determinan el contexto de los hechos y se usan como parámetros para el análisis OLAP. Suelen ser: tiempo, geografía, cliente y vendedor, y pueden agrupar sus ítems jerárquicamente.
-- Medida: Atributo numérico de un hecho que representa su rendimiento o comportamiento relativo a su dimensión (ventas en pesos, cantidad de productos, total de transacciones).
Puede verse este modelo como un caso particular del de E-R y se puede modelar de dos maneras:
-- Star: Una tabla central de hechos y una serie de tablas individuales para cada dimensión.
-- Snowflake: Una tabla central de hechos pero con sus dimensiones organizadas jerárquicamente.

OLAP: Es una herramienta de explotación de datos aplicable al modelo dimensional, específicamente al cubo de medidas en base a sus dimensiones. Sus operaciones se agrupan según:
- Nivel de Granularidad: Se basan en el tamaño de la unidad mínima de tratamiento cuya medida resulta importante en el diseño. Aquí tenemos dos:
-- Roll Up: Generalización de datos de una vista al reducir dimensiones o escalar en su jerarquía.
-- Drill Down: Especialización de datos al introducir una nueva dimensión en una vista o bajar en la jerarquía.
- Navegación por las dimensiones: Toman un subconjunto de los datos según la cantidad de dimensiones. Aquí también tenemos dos:
-- Slice: Toma una "rebanada" del cubo dimensional, es decir, los ítems con un mismo valor en alguna de las dimensiones.
-- Dice: Similar a la anterior pero comprende 2 o más dimensiones.